/*
* 解析url参数
* @example ?id=ljh&a=b
* @return Object {id:ljh,a:b} 返回值是一个对象
* */
export function urlParse() {
  let url = window.location.search;//拿取页面网址跟的串如?id=ljh&a=b  可以在id=XX的浏览器中console处输入获取看看
  let obj = {};
//正则表达式 
//[?&]：匹配以?或&开头的 
//[^?&]+  匹配 非? 或 非& 开头的 +代表一个或多个字符 
//=：就是=等号字符，没有特殊意义 
  let reg = /[?&][^?&]+=[^?&]+/g;
  let arr = url.match(reg);//match() 正则表达式里面的方法  查询匹配项返回一个数组
  // ['?id=123456','&a=b']  match匹配到了两个结果返回为数组
  if (arr) {
    arr.forEach((item) => {//遍历数组item.substring(1)把arr=['?id=123456','&a=b']中的 ?,& 去掉
      //.split('=') 以=分割成数组   第一次循环先分割取到['id','123454']
      //第2次循环先分割取到['a','b']
      let tempArr = item.substring(1).split('=');

      // url已被encodeURIComponent编码，所以拿到值后需要decodeUTIComponent解码。
      let key = decodeURIComponent(tempArr[0]);//第一次 id      第2次a
      let val = decodeURIComponent(tempArr[1]);//第2次 123456%gggg  第2次b
      obj[key] = val; //第一次{id: 123123}第2次{a:b}
    });
  }
  return obj;//{id:123456,a:b}
  //return {id: 123123};
}
